package ocg.common.re.file;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * Created by chenbo on 2018/5/14.
 */
public class ReDate {

    /**
     * 获取当前时间
     * @return      格式时间：yyyy-MM-dd-HH-mm-ss
     */
    public static java.lang.String nowData ( ) {
        Date date = new Date();
        return new SimpleDateFormat ("yyyy-MM-dd-HH-mm-ss-SSS").format(date);
    }

    /**
     * 获取当前时间
     * @return      格式时间：yyyy-MM-dd HH:mm:ss
     */
    public static java.lang.String data ( ) {
        Date date = new Date();
        return new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss:SSS").format(date);
    }

    /**
     * 获取当前日期
     * @return      时间格式：yyyy-MM-dd
     */
    public static java.lang.String today(){
        Date date = new Date();
        return new SimpleDateFormat ("yyyy-MM-dd").format(date);
    }

    /**
     * 获取当前时间
     * @param pattern       时间格式
     * @return              当前时间
     */
    public static java.lang.String data( java.lang.String pattern){
        Date date = new Date();
        return new SimpleDateFormat ( pattern ).format(date);
    }

    /**
     * 获取当前时间戳
     * @return      时间戳
     */
    public static long timeMillis(){
        return System.currentTimeMillis ();
    }

    /**
     * 时间戳转换为时间
     * @param timeMillis    时间戳
     * @return              时间
     */
    public static String stampToData( long timeMillis ){
        return stampToData( timeMillis , "yyyy-MM-dd HH:mm:ss:SSS" );
    }

    /**
     * 时间戳转换为时间
     * @param timeMillis    时间戳
     * @param pattern       时间格式
     * @return              时间
     */
    public static String stampToData( long timeMillis , String pattern){
        Date data = new Date (timeMillis);
        return new SimpleDateFormat ( pattern ).format(data);
    }

    /**
     * 时间转换为时间戳
     * @param data_time     时间
     * @return              时间戳
     * @throws ParseException   解析异常
     */
    public static long dataToStamp( String data_time , String pattern) throws ParseException {
        Date date =new SimpleDateFormat (pattern).parse ( data_time );
        return date.getTime ();
    }
}
